// Package coding_round_1 14-143
// @Title coding_round_1
// @Description  重排链表
// @Author  == 琳琳也叫王木木 ==  2021/9/8 17:59
// @Create  2021/9/8 17:59
package coding_round_1

// 使用数组的有序性完成链表的重拍
func ReorderList(head *ListNode) {
	if head == nil {
		return
	}
	tempList := []*ListNode{}
	for head != nil {
		tempList = append(tempList, head)
		head = head.Next
	}
	i, j := 0, len(tempList)-1
	for i < j {
		tempList[i].Next = tempList[j]
		i++
		if i == j {
			break
		}
		tempList[j].Next = tempList[i]
		j--
	}
	tempList[i].Next = nil // 这一步及其重要，不然列表就会有环 会进入死循环，一定要谨记这个coding问题

}
